package ar.edu.utn.frba.disenio.model;

import java.math.BigDecimal;

public class FiltroPorPrecio extends Filtro{

	private BigDecimal precioMinimo;
	private BigDecimal precioMaximo;
	
	public FiltroPorPrecio(BigDecimal precioMinimo, BigDecimal precioMaximo){
		this.precioMinimo = precioMinimo;
		this.precioMaximo = precioMaximo;
	}
	
	@Override
	protected boolean cumpleFiltro(Asiento asiento) {
		BigDecimal precioBase = asiento.getPrecioBase();
		return precioEntre(precioBase);
	}
	
	private boolean precioEntre(BigDecimal precioBase){
		return this.esMayorAPrecioMinimo(precioBase) && this.esMenorAPrecioMaximo(precioBase);
	}
	
	private boolean esMenorAPrecioMaximo(BigDecimal precioBase) {
		return precioBase.compareTo(this.getPrecioMaximo()) == -1;
	}
	
	private boolean esMayorAPrecioMinimo(BigDecimal precioBase) {
		return precioBase.compareTo(this.getPrecioMinimo()) == 1;
	}
	
	private BigDecimal getPrecioMinimo() {
		return precioMinimo;
	}
	
	private BigDecimal getPrecioMaximo() {
		return precioMaximo;
	}	
	
}